Redis散列表(hash)使用 | 您所在的位置:网站首页 › redis 数据类型hash › Redis散列表(hash)使用 |
Redis有5种常用的数据结构,分别为:string(字符串),list(列表),hash(哈希表或散列表),set(集合)和zset(有序集合)。5种数据结构指的是作为键值对的值存在于Redis库中的形态,顾名思义,string字符串的value值是以字符串结构存在的;hash散列表的value是一个hash散列表。 散列表简单说明Redis的散列(hash)表会将一个键和一个散列表在数据库中关联起来,用户可以在散列表中为任意多个字设置值。与字符串键值对一样,散列表里面的字段和值既可以是文本数据,可以是二进制数据。 通过使用散列表,用户可以把相关联的多项数据存储到同一个散列里面,以便对这些数据进行管理,或者针对他们进行批量操作。 上图可以看到,字符串键值对的值是一个单字符串形态的存在;而散列表的value值是一个散列表,或称为哈希表,散列表内部的字段和值对照关系就与字符串的键值对类似了。 Redis为散列舰提供了一系列操作命令,通过这些命令用户可以: 为散列的字段设置值,或者只在字段不存在的情况下为他设置值从散列表里面获取给定字段的值。 对存储着数字值的字段执行加法操作或者减法操作。 检查给定字段是否存在于散列表当中。 从散列表中删除指定字段。 查看散列表包含的字段数量。 一次为散列表的多个字段设置值或一次从散列表中获取多个字段的值。 获取散列表包含的所有字段,所有值或者所有字段和值。 散列表命令说明 hset:为字段设置值用户可以通过执行hset命令为散列表中的指定字段设置值。 hset key field value 根据给定的字段是否已经存在于散列中命令的执行也会有所不同: 如果给定字段并不存在于散列当中,那么这次设置就是一次创建操作命令,将在散列里面关联起给定的字段和值,然后返回1。 如果给定的字段原本已经存在于散列当中,那么这次设置就是一次更新操作命令,将使用用户给定的新值去覆盖字段原有的旧址,然后返回0。上图示例可以看到,在给student_zhangsan第一次设置age字段为14时,因为散列表中没有age字段,字段age属于第一次创建,命令执行完成后返回的是1;待第二次给age再设置值为16时,因为age已经存在于散列表中,命令执行时候,新的字段值16会覆盖掉旧的字段值14,并返回0。 hsetnx:只在字段不存在的情况下为它设置值hsetnx命令的作用和hset命令的作用非常相似,都是给散列表的字段设置值。他们的不同之处在于,hsetnx命令只会在指定字段不存在的情况下执行设置操作。 hsetnx key field value hsetnx命令在字段不存在并且设置成功时返回值1;在字段存在并导致设置失败时返回值0。 |
CopyRight 2018-2019 实验室设备网 版权所有 |